default: compile

compile: TCPEchoClient.c TCPEchoServer.c DieWithMessage.c TCPServerUtility.c TCPClientUtility.c Practical.h AddressUtility.c
	gcc -o TCPEchoClient -std=gnu99 TCPEchoClient.c DieWithMessage.c TCPClientUtility.c
	gcc -o TCPEchoServer -std=gnu99 TCPEchoServer.c AddressUtility.c TCPServerUtility.c DieWithMessage.c

server: compile
	./TCPEchoServer 1111

IP_ADDR := $(shell hostname -I)

client: compile
	./TCPEchoClient $(IP_ADDR) 1111

tar:
	tar -czvf asg1.tar.gz TCPEchoClient.c TCPEchoServer.c TCPClientUtility.c TCPServerUtility.c AddressUtility.c DieWithMessage.c Practical.h

clean:
	rm -rf TCPEchoClient TCPEchoServer